package dao;

import domain.flower;
import domain.order;
import execption.lackGoodException;
import execption.nullValueException;
import execption.repeatValueException;

import java.sql.SQLException;
import java.util.List;

public interface flowerMapper {
    /**
     * 该商店的所有鲜花查询所有
     * @param flag      判断是顾客(false)还是商家查询(true);
     * @return 鲜花集合;
     */
    List<flower> findFlowers(boolean flag);
    /**
     *鲜花入库
     * @param f
     * @return 返回跟新成功行数
     * @throws SQLException
     * @throws nullValueException
     */
    int updateFlower(flower f) throws SQLException, nullValueException;

    /**
     * 鲜花入库
     * @param f
     * @param flag
     * @return  返回跟新成功行数
     * @throws SQLException
     * @throws nullValueException
     */
    int updateFlower(flower f ,boolean flag) throws SQLException, nullValueException;

    /**
     * 向库存里添加新种类的鲜花
     * @param f
     * @return 返回插入成功行数
     * @throws repeatValueException
     */
    int addFlower(flower f) throws repeatValueException;
    /**
     * 通过flowerId 和 flowerPrice 查找鲜花集合
     * @param flowerId
     * @param flowerTotal
     * @param flowerPrice
     * @return  返回鲜花集合
     */
    List<flower> findFlowerByIdAndTypeAndPrice(String flowerId ,String flowerTotal ,String flowerPrice);
    /**
     * 购买鲜花
     * @param f
     * @return  返回插入记录行数;
     * @throws lackGoodException
     * @throws nullValueException
     */
    int buyFlowers(order f) throws lackGoodException, nullValueException;


}
